package com.heisenhub.common.mq.service;

import com.heisenhub.common.mq.model.BaseMessage;

public interface MqService {

    /**
     *  发送消息
     * @param topic
     * @param message
     */
      void sendMessage(String topic, BaseMessage message) ;

    /**
     *  发送 带tags 消息
     * @param topic
     * @param tags
     * @param message
     */
    void sendMessage(String topic, String tags, BaseMessage message);


    /**
     *  发送 延迟消息
     * @param topic
     * @param message  消息体
     * @param delayLevel  延迟时间
     */
    void sendDelayed(String topic, BaseMessage message, int delayLevel);


    /**
     *  发送 延迟消息
     * @param topic
     * @param tags  标签
     * @param message  消息体
     * @param delayLevel   延迟时间
     */
    void sendDelayed(String topic, String tags, BaseMessage message, int delayLevel);
}
